/**
 * 树服务
 *
 * @author  TuLinLi
 * @version 1.0.0, 2017/11/28
 * @see TemplateController
 * @since 模板
 */

(function (app, ng) {
    'use strict';

    /**
     * 注册服务
     */
    app.service('treeService', Service);

    /**
     * 依赖项
     */
    Service.$inject = ['iResource','$http'];

    /**
     * 声明服务
     * @constructor
     */
    function Service(iResource,$http) {
        // 初始化
        var s = this;
        extendResource('demos');

        // 方法引用
        this.deleteNode= function (id) {
            return $http.delete(
                ISS.getPath('/demo/' + id)
            ).then(function (resp) {
                return resp.data;
            });
        };

        this.updateNode= function (node) {
            return $http.put(
                ISS.getPath('/demo'),
                node
            ).then(function (resp) {
                return resp.data;
            });
        };

        this.addNode= function (node) {
            return $http.post(
                ISS.getPath('/demo'),
                node
            ).then(function (resp) {
                return resp.data;
            });
        };


        // 继承RESTful服务
        function extendResource(moduleName, id) {
            id = id || 'id';
            var resource = iResource({
                url: moduleName + '/:' + id, actions: {
                    addNode: {
                        url: '/demo',
                        method: 'POST',
                        contentType: 'json'
                    }
                }
            });
            ng.extend(s, resource);
        }



    }
})(iApp.module(), window.angular);